package com.fivefu.core.camera.services;

import com.fivefu.core.camera.entity.DbSceneEvent;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 场景工单表 服务类
 * </p>
 *
 * @author 
 * @since 2022-09-19 19:38:06
 */
public interface DbSceneEventService extends IService<DbSceneEvent> {

    /**
     * 通过场景标识查询场景工单配置
     * @param sceneCode 场景标识
     * @param type 生成工单类型
     * @return
     */
    List<DbSceneEvent> querySceneEventBySceneCode(String sceneCode,String type);

    /**
     * 编辑场景工单配置信息
     * @param sceneEvent 场景工单配置信息
     * @param userid 操作用户编号
     */
    Long editSceneEvent(DbSceneEvent sceneEvent, String userid);

    /**
     * 删除多余的生成工单配置
     * @param sceneCode 场景标识
     * @param saveSceneEventIds 保留工单配置编号集合
     * @param userid 操作用户编号
     */
    void removeSurplusSceneEvent(String sceneCode, List<Long> saveSceneEventIds, String userid);

    /**
     * 格式化工单配置信息
     * @param event 场景工单配置信息
     * @return
     */
    Map<String, Object> formatSceneEvent(DbSceneEvent event);

}
